package com.example.Data;


import java.util.*;

public class HashMaps {
    public static void main(String[] args) {
        Map<String,String> map = new HashMap<>();
        map.put("key1", "value1");
        map.put("key2", "value2");
        map.put("key3", "value3");
        map.put("key4", "value4");

        //第一种：普遍使用，二次取值
//        for(String key : map.keySet()){
//            System.out.println("key= "+ key + " and value= " + map.get(key));
//        }

        //第二种
//        System.out.println("通过Map.entrySet使用iterator遍历key和value：");
//        Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
//        while (it.hasNext()) {
//            Map.Entry<String, String> entry = it.next();
//            System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
//        }

        //第三种：推荐，尤其是容量大时,通过Map.entrySet遍历key和value
        for(Map.Entry<String,String> entry : map.entrySet()){
            System.out.println("key= "+ entry.getKey() + " and value= " + entry.getValue());
        }

        //第四种
//        System.out.println("通过Map.values()遍历所有的value，但不能遍历key");
//        for (String v : map.values()) {
//            System.out.println("value= " + v);
//        }

        // 创建 HashMap 对象 Sites
        HashMap<Integer,String> Sites = new HashMap<Integer,String>();
        // 添加键值对
        Sites.put(1,"邓先生");
        Sites.put(2,"黄女士");
        Sites.put(3,"潘先生");

        System.out.println(Sites);
        System.out.println(Sites.get(2));
        Sites.remove(3);
        System.out.println(Sites);
    }
}
